home *** CD-ROM | disk | FTP | other *** search
-
- SciTech Software Distribution - Standard Directory Structure
- ------------------------------------------------------------
-
- This file describes the general directory structure of the SciTech Software
- programming libraries that you have installed. This directory structure
- is common to all SciTech Software products.
-
- Where to get the latest releases
- --------------------------------
-
- The latest releases of all SciTech Software products are always uploaded to
- the Simtel-20 MSDOS internet archives (oak.oakland.edu) and to various
- areas on CompuServe and America Online. However to obtain the obsolute
- latest release of all SciTech Software products, you can ftp them from
- our home site:
-
- ftp.scitechsoft.com (152.160.1.26)
-
- If you wish to contact SciTech Software for feedback or bug reports on
- our products, you can do so as follows:
-
- SciTech Software
- 5 Governors Lane, Suite D
- Chico, CA 95926 USA
-
- Phone: 916-894-8400
- Fax: 510-208-8026
-
- Internet: rcskb@minyos.xx.rmit.edu.au
- support@scitechsoft.com
- Compuserve: 100237,2213
-
- Find a nice home for it all
- ---------------------------
-
- Before you install any of SciTech Software Products, you should decide upon
- a standard root directory for installing all of the products into. The
- default that we use is under the \SCITECH directory of one of our hard drives
- (in my case C:). Then you should install all the files for all the
- distributions that you have under the same directory tree. Many of the
- products use common libraries to get things done (like the PMODE library)
- and common header files. When you install them into the same directory
- you will only have one copy of each of these common files.
-
- IMPORTANT: Once you decided on a root directory for installing your SciTech
- Software Products, you should install them all into the same
- directory. The command to do this with PKZIP would be (assuming
- that all products are installed under C:\SCITECH):
-
- pkunzip -d <zipfile>.zip C:\SCITECH
-
- This will correctly unzip all the archived files and create the
- correct directory structure under the root directory C:\SCITECH
-
- Note that the '-d' command line option is essential to ensure
- that the correct directory structure is built.
-
- Installing for use
- ------------------
-
- Once you have created the directory structure for the distribution, and
- all files have been installed, you will need to perform two final steps
- before you can use the libraries:
-
- 1. Change your compilers default include path to include the
- d:\SCITECH\INCLUDE directory so your compiler can find the required
- include files, where d: is the drive that you have installed the
- software onto.
-
- 2. Change your compilers default library path to include the
- d:\SCITECH\LIB\??? directory (substitute the correct sub-directory
- name for your compiler - d:\SCITECH\LIB\BC3 is for Borland C++ 3.1).
-
- Once you have done this, you can simply start using the library files as
- provided. If you intend to re-compile any of the libraries from the
- provided source code, you will need to follow the steps in the next
- section.
-
- SciTech Software Common Makefile Utilities
- ------------------------------------------
-
- In order to be able to re-compile any of the SciTech Software Distributions
- that come with source code, you will also need to install the SciTech
- Software Common Makefile Utilities package. This can be found in the
- archive called MKUTIL??.ZIP from the same location that you obtained this
- package from. This archive contains all of the relevant executable files
- (including a copy of DMAKE 3.8), batch files and DMAKE startup files
- required to re-compiled the source code for any of the supported compilers.
-
- Once you have installed the files onto your hard drive, you will need to
- perform the following steps:
-
- 1. Change the default executable file path in your AUTOEXEC.BAT file
- to include the d:\SCITECH\BIN directory. This can be placed
- anywhere in your path, so long as the DMAKE.EXE file in the BIN
- directory will be found first (if there is another program with
- the same name).
-
- 2. Set the environment variables SCITECH and MGL_ROOT (if you are using
- the MegaGraph Graphics Library). The batch file MGL_ENV.BAT in
- the root \SCITECH directory is a sample of this. The SCITECH
- environment variable is used by the batch files in the BIN
- directory for setting up for compiling with a particular compiler,
- and by the DMAKE program so that it can find all of the relevant
- files during compilation.
-
- 3. Set up the enivornment variables needed by the bacth files in the
- next step, so that they can located your compilers executable files,
- include files and library files. The file BIN\SET-VARS.BAT is an
- example that we use, so you can start with this to build you own
- batch file.
-
- 4. Run the relevant batch file to set the environment up for your
- compiler. The will file begin with a two letter prefix, and
- end in either 16-VAR.BAT or 32-VAR.BAT (depending on whether you will
- be compiling for 16 or 32 modes). These files require the SCITECH
- environment variable to setup correctly, and the relevant variables
- from the previous step to be set up correctly.
-
- The following compilers are usually supported by SciTech Software, along with
- the code used by the batch files from step 4 above (some libraries may not
- support a particular compiled depending on lanuage requirements):
-
- bc3 - Borland C++ 3.1 16 bit
- bc16 - Borland C++ 4.0 16 bit
- bc32 - Borland C++ 4.0 32 bit
- vc16 - Microsoft Visual C++ 1.5 16 bit
- vc32 - Microsoft Visual C++ 1.0 32 bit
- sc16 - Symantec C++ 6.1 16 bit
- sc32 - Symantec C++ 6.1 32 bit
- wc16 - Watcom C++ 10.0 16 bit
- wc32 - Watcom C++ 10.0 32 bit
- hc32 - Metaware High C/C++ 3.2
- dj32 - DJGPP GNU C/C++ 32 bit
-
- Once you have everything set up correctly, you should simply be able to
- type MAKE in any of the source directories and be in business.
-
- Assembling 32 bit code
- ----------------------
-
- All of SciTech Software's assembler code is written in Tasm IDEAL mode,
- so you will need a copy of Borland Tasm in order to re-assemble the assembler
- code. If you are assembling for 32 bit protected mode, you _MUST_ use
- Tasm 4.0 or later, since Tasm 3.1 and earlier do not generate correct 32
- bit code in some instances (pushing flags is one).
-
- Compiling with Optimisations or for Debugging
- ---------------------------------------------
-
- By default when you build the libraries, not optmisations and no debugging
- information is generated. You can turn either (or both) of these features
- on by setting the OPT or DBG variables for DMAKE. You can do this either
- by passing them on the command line, or setting them as environment
- variables:
-
- dmake OPT=1 DBG=1
-
- or
-
- set OPT=1
- set DBG=1
- dmake
-
- Changing the default structure packing alignment
- ------------------------------------------------
-
- All SciTech Software libraries are compiled with the default structure
- packing alignment used by the compiler. If you wish to change the default
- structure packing alignment used by your compiler, you will need to
- recompile _all_ libraries that you use with the new compiler options.
- If you dont do this, our library code will be expecting the structures in
- a different format to that used by your code, causing some rather subtle
- and hard to find bugs!
-
- Please note that it has been our experience that changing the default
- compiler packing alignment values is not a good idea for some compilers
- (because they dont bother to bracket their include files with #pragma pack!).
- Unless you know exactly what you are doing, we recommend you use the compiler
- defaults to ensure you dont get bitten by subtle alignment bugs.
-
- Compiling with direct 80387+ floating point suppport
- ----------------------------------------------------
-
- Many SciTech Software libraries can be compiled to use direct floating
- point support routines for 387+ co-processors in both 16 and 32 bit
- protected mode. Compiling with this option will turn on the compilers
- inline floating point instruction support, and will also enable any 387
- specific assembler modules that may be included. You can turn this on
- by setting the FPU variable for DMAKE, by either passing it on the command
- line or setting the evironment variable
-
- dmake FPU=1
-
- or
-
- set FPU=1
- dmake
-
- Programs compiled with this option will require an 387 or higher
- co-processor to be installed in the system (the 486DX and Pentium processors
- have an co-processor built in, while the 486SX does not). If you are
- compiling for real mode, and you system has a floating point emulator
- installed (such as Franke.387 or something similar) then the program will
- run as per normal. If you are compiling a 32 bit DOS extended application
- that is running under a DPMI environment that provides floating point
- emulation then your program will also run correctly (the Borland C++ DPMI32
- DOS extender provides this, as does the OS/2 2.x DOS box DPMI implementation).
-
- Changing the default DOS Extender
- ---------------------------------
-
- All of the SciTech Software libraries are DOS Extender independant. All
- DOS extender dependant information is encapsulated in the PMODE.LIB library.
- The default library provided for each of the compilers is compiled for
- the default DOS extender normally used by that compiler. All you need to
- do in order to use a different DOS extender is re-compile the PMODE
- library with the appropriate command line options, and then link with
- this new library. Refer to the documentation on the PMODE library for
- more details.
-
- All SciTech Software distributions that require the PMODE library, come
- with a pre-compiled version of the library for the default DOS extender
- used by that compiler. If you wish to change the DOS extender, or you
- wish to have a look at the source code, you will need to obtain the
- PMODE library source archive. You should be able to get this from the
- same site that you downloaded this archive from as the file PMLITE??.ZIP.
-
- Once you have re-compiled the PMODE library routines, you can change the
- DOS extender by either setting an environment variable (the easiest)
- or with command line parameters to DMAKE. The batch files provided in
- the SCITECH\BIN directory show how to set up for compiling and linking
- with any of the supported DOS extenders.
-
- Setting up to use Phar Lap TNT
- ------------------------------
-
- Notes on setting up TNT with each of the supported compilers should go in
- here.
-
- Setting up to use FlashTek X-32
- -------------------------------
-
- Symantec C++ 6.1
-
- Setting up to use FlashTek X-32 or X-32VM with Symantec C++ is simple. If
- you only want to use the X-32 extender, you can follow the instructions in
- the file README.SC that comes on the X-32 distribution disks. However if
- you simply run the supplied SC32-X32.BAT batch file, it will place the
- appropriate X-32 library and include files before the normal Symantec
- ones, and you can selectively compile for either DOSX, X-32 or X-32VM.
-
- Watcom C++ 10.0
-
- Setting up to use FlashTek X-32 or X-32VM with Watcom C++ is simple. First
- you must ensure that you have the latest version (some new versions of X-32
- for Watcom 10.0 had interrupt handling problems - if you experience this
- obtain the latest version from FlashTek). Then you simply install the
- files as specified in the README.WTC that comes on the X-32 distribution
- disks. Watcom C++ 10.0 comes out of the box ready to compile with X-32 and
- X-32VM, so you can then start using the batch file WC32-X32.BAT and the
- WC32.MK DMAKE startup file to compile and link with X-32.
-
- Directory tree
- --------------
-
- The following is a brief outline of the directory tree, and the contents of
- all the sub-directories (note that not all of these will be present in
- every SciTech Software Distribution archive):
-
- SCITECH ROOT directory (SCITECH is default official name)
- │
- ├───BIN Useful tools and batch files for library building
- │
- ├───DOC Documentation files. Each individual product has its own
- │ separate directory which contains all files specific to
- │ that product.
- │
- ├───FONTS All MGL font files installed here.
- │
- ├───BITMAPS All MGL bitmap files installed here.
- │
- ├───CURSORS All MGL mouse cursor files installed here.
- │
- ├───ICONS All MGL icon files installed here.
- │
- ├───EXAMPLES Any example source code. Separate sub-directories are
- │ provided for each of the different products.
- │
- ├───MANIFEST List of all files installed for each Distribution
- │
- ├───INCLUDE All installed header files.
- │
- ├───LIB All installed library files. Separate sub-directories are
- │ ├───BC16 provided for each of the different supported compilers.
- │ ├───... These directories contain the pre-compiled versions of
- │ └───WC32 the library files ready for use.
- │
- ├───LIBSW All installed shareware library files. In the shareware
- │ ├───BC16 distributions these directories contain pre-compiled
- │ ├───... shareware versions of the library files ready for use.
- │ └───WC32
- │
- └───SRC All source code for building the libraries (if provided).
- ├───PMODE Each package has a separate directory that contains all
- ├───... of the source code and makefiles for building the library
- └───SVGAKIT and installing it under \SCITECH\LIB.
-
-